using System;
using System.Collections;
using System.Runtime.InteropServices;
namespace BMC.ARSystem
{
	[ARStructTypeInfo(Name = "ARActiveLinkMacroStruct", NumberOfMembers = 3u), ClassInterface, Guid("b3c42972-3358-48f8-90fb-5e35e227983b"), ProgId("BMC.ARSystem.RunMacroAction")]
	public class RunMacroAction : Action
	{
		[ARStructMemTypeInfo(Name = "macroName", Offset = 0u)]
		private string _macroName;
		[ARStructMemTypeInfo(Name = "macroText", Offset = 1u)]
		private string _macroText;
		[ARStructMemTypeInfo(Name = "macroParms", Offset = 2u)]
		private ArrayList _macroParms;
		public string MacroName
		{
			get
			{
				return this._macroName;
			}
			set
			{
				this._macroName = value;
			}
		}
		public string MacroText
		{
			get
			{
				return this._macroText;
			}
			set
			{
				this._macroText = value;
			}
		}
		public ArrayList MacroParms
		{
			get
			{
				return this._macroParms;
			}
			set
			{
				this._macroParms = value;
			}
		}
		public RunMacroAction()
		{
		}
		internal RunMacroAction(object rawData, Server server)
		{
			int[] indexSpec = new int[1];
			this.MacroName = (string)Util.GetAt(rawData, indexSpec);
			this.MacroText = (string)Util.GetAt(rawData, new int[]
			{
				1
			});
			this.MacroParms = ARTypeMgr.Instance.ArrayListFromVariant(Type.GetType("Unknown"), (object[])Util.GetAt(rawData, new int[]
			{
				2
			}), server);
		}
		internal static RunMacroAction createInstance(object[] rawData, Server server)
		{
			return new RunMacroAction(rawData, server);
		}
	}
}
